package com.wing.product.model.response;

import com.baomidou.mybatisplus.annotation.TableField;
import com.wing.mybatis.common.BaseEntity;
import com.wing.product.model.entity.WarehouseProcessingReportDetail;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description="加工报工表")
@Data
@EqualsAndHashCode(callSuper=true)
public class WarehouseProcessingReportVO extends BaseEntity<WarehouseProcessingReportVO> {

    @Schema(description="上机记录id")
    private Long computerPracticeId;

    @Schema(description="上机记录编号")
    private String computerPracticeCode;

    @TableField(value = "code")
    @Schema(description="报工编号")
    private String code;

    @Schema(description="所属生产订单id")
    private Long productionOrderId;

    @Schema(description="所属生产订单编号")
    private String productionOrderNumber;

    @Schema(description="生产产品id")
    private Long productId;

    @Schema(description="生产客户产品料号")
    private String customerProductCode;

    @Schema(description="领料料号数")
    private String materialNumber;

    @Schema(description="生产线id")
    private Long productionLineId;

    @Schema(description="生产线名称")
    private String productionLineName;

    @Schema(description="车间id")
    private Long workshopId;

    @Schema(description="车间名称")
    private String workshopName;

    @Schema(description="状态1.待质检，2.已质检")
    private String status;

    @Schema(description="计划产量")
    private BigDecimal plannedQuantity;

    @Schema(description="生产计划编号")
    private String productionPlanCode;

    @Schema(description="客户id")
    private Long customerId;

    @Schema(description="上机时间")
    private LocalDateTime computerPracticeTime;

    @Schema(description="计件工资")
    private BigDecimal salaryQuota;

    @Schema(description="制造令编号")
    private String productionPlanDetailCode;

    @Schema(description="品牌名称")
    private String productBrandName;

    @Schema(description="生产商名称")
    private String productProducerName;

    @Schema(description="牌号名称")
    private String productMarkName;

    @Schema(description="品种名称")
    private String productVarietyName;

    @Schema(description="客户名称")
    private String customerName;

    @Schema(description="加工记录明细")
    private List<WarehouseProcessingReportDetail> warehouseProcessingReportDetailList;
}
